package com.aliyun.messagemgt.application.service;


import com.aliyun.messagemgt.common.dto.send.PushChannelInfo;

import java.util.List;

/**
 * Created with IDEA
 *
 * @author:zhangxingxing 0027012120
 * @date:2019/1/29
 * @time:18:23
 */
public interface PushChannelMap {

    void setChannelMap();
    /**
     * 获取channel列表信息
     *
     * @param receiveChannelCodes
     * @return
     */
    List<PushChannelInfo> getChannelInfoByChannelCodeList(List<String> receiveChannelCodes, String tenantCode);

    /**
     * 获取channel信息
     *
     * @param channelId
     * @return
     */
    PushChannelInfo getChannelInfoByChannelId(Long channelId);

    /**
     * 获取channel信息
     * @param channelCode
     * @param tenantCode
     * @return
     */
    PushChannelInfo getChannelInfoByChanneCode(String channelCode, String tenantCode);

    /**
     * 获取channel列表信息
     *
     * @param channelIdList
     * @return
     */
    List<PushChannelInfo> getChannelInfoByChannelIdList(List<Long> channelIdList);

    /**
     * 添加ChannelCodeMap缓存
     *
     * @param pushChannelInfo
     */
    void addChannelCodeMapCache(PushChannelInfo pushChannelInfo);

    /**
     * 移除ChannelCodeMap缓存
     * @param channelCode
     * @param tenantCode
     */
    void removeChannelCodeMapCache(String channelCode, String tenantCode);
}
